const mongoose = require("mongoose");

// 表结构
const modelSchema = new mongoose.Schema(
  {
    name: {
      type: String,
    },
    age: {
      type: Number,
      default: 17,
    },
    desc: {
      type: String,
      default: "",
    },
  },
  {
    timestamps: true, // 为每一条记录设置新增和修改时间
  }
);

// 创建一个数据库模型
//  我们可以直接操作Person对象，然后就可以直接改变数据库中的内容
//  参数一 标识模型的名字，会自动的在数据库中帮我们创建一个集合(表)，使用名字的复数形式
//  参数二 标识表结构
const Person = mongoose.model("person", modelSchema);

// 27017 表示mongodb的端口
mongoose
  .connect("mongodb://localhost:27017/db-2207")
  .then(() => {
    console.log("数据库连接成功");
    createHaoJIGe(); //创建一个记录
  })
  .catch((err) => {
    console.log(err);
  });
//异步
async function createOne() {
  const person = new Person({
    name: "小黑",
    desc: "楼下的神秘男子",
  });
  //实例方法 一个
  await person.save(); // 保存到数据库
}

async function createHaoJIGe() {
  const people = [
    {
      name: "沸羊羊",
    },
    {
      name: "喜羊羊",
    },
    {
      name: "懒羊羊",
    },
  ];
  //创建多个
  await Person.insertMany(people);
}

module.exports = {
  Person,
};
